import request from '@/utils/request'

/**
 * 退款相关API
 */

/**
 * 申请退款
 * @param {Number} orderId 订单ID
 * @param {String} reason 退款原因
 */
export function applyRefund(orderId, reason) {
  return request.post(`/order/${orderId}/refund/apply`, {
    reason
  })
}

/**
 * 查询退款状态
 * @param {Number} orderId 订单ID
 */
export function getRefundStatus(orderId) {
  return request.get(`/order/${orderId}/refund/status`)
}

/**
 * 获取待审核退款列表（商家端）
 * @param {Number} current 当前页
 * @param {Number} size 每页大小
 */
export function getPendingRefunds(current = 1, size = 10) {
  return request.get('/merchant/refund/pending', {
    current,
    size
  })
}

/**
 * 获取已处理退款记录（商家端）
 * @param {Number} current 当前页
 * @param {Number} size 每页大小
 */
export function getProcessedRefunds(current = 1, size = 10) {
  return request.get('/merchant/refund/processed', {
    current,
    size
  })
}

/**
 * 审核退款（商家端）
 * @param {Object} params 审核参数
 * @param {Number} params.orderId 订单ID
 * @param {Boolean} params.approved 是否同意
 * @param {Number} params.compensationRate 补偿比例（0.1-0.5）
 * @param {String} params.rejectReason 拒绝原因
 * @param {Number} params.orderAmount 订单金额（用于计算展示）
 */
export function approveRefund(params) {
  return request.post('/merchant/refund/approve', params)
}
